Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import React from "react"; import { Button } from "@/components/ui/button"; interface EmptyStateProps { title: string; description?: string; actionLabel?: string; onAction?: () => void; icon?: React.ReactNode; } export function EmptyState({ title, description, actionLabel, onAction, icon }: EmptyStateProps) { return ( <div className="flex flex-col items-center justify-center text-center py-8 text-gray-500"> {icon && <div className="mb-3 text-gray-400">{icon}</div>} <h3 className="text-base font-medium text-gray-900 mb-1">{title}</h3> {description && <p className="text-sm text-gray-600 mb-4">{description}</p>} {actionLabel && onAction && ( <Button variant="outline" onClick={onAction}>{actionLabel}</Button> )} </div> ); } |